<html>

<head>
<title>libogg - datatype - ogg_sync_state</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>

<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
<table border=0 width=100%>
<tr>
<td><p class=tiny>libogg documentation</p></td>
<td align=right><p class=tiny>libogg release 1.3.1 - 20130512</p></td>
</tr>
</table>

<h1>ogg_sync_state</h1>

<p><i>declared in "ogg/ogg.h"</i></p>

<p>
The ogg_sync_state struct tracks the synchronization of the current page.
<p>It is used during decoding to track the status of data as it is read in, synchronized, verified, and parsed into pages belonging to the various logical bistreams in the current physical bitstream link. 
<p>

<table border=0 width=100% color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
	<td>
<pre><b>
typedef struct {
  unsigned char *data;
  int storage;
  int fill;
  int returned;

  int unsynced;
  int headerbytes;
  int bodybytes;
} ogg_sync_state;
</b></pre>
	</td>
</tr>
</table>

<h3>Relevant Struct Members</h3>
<dl>
<dt><i>data</i></dt>
<dd>Pointer to buffered stream data.</dd>
<dt><i>storage</i></dt>
<dd>Current allocated size of the stream buffer held in <tt>*data</tt>.</dd>
<dt><i>fill</i></dt>
<dd>The number of valid bytes currently held in <tt>*data</tt>; functions as the buffer head pointer.</dd>
<dt><i>returned</i></dt>
<dd>The number of bytes at the head of <tt>*data</tt> that have already been returned as pages; functions as the buffer tail pointer.</dd>
<dt><i>unsynced</i></dt>
<dd>Synchronization state flag; nonzero if sync has not yet been attained or has been lost.</dd>
<dt><i>headerbytes</i></dt>
<dd>If synced, the number of bytes used by the synced page's header.</dd>
<dt><i>bodybytes</i></dt>
<dd>If synced, the number of bytes used by the synced page's body.</dd>
</dl>


<br><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright &copy; 2000-2013 Xiph.Org</p></td>
<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/">Ogg Container Format</a></p></td>
</tr><tr>
<td><p class=tiny>libogg documentation</p></td>
<td align=right><p class=tiny>libogg release 1.3.1 - 20130512</p></td>
</tr>
</table>

</body>

</html>
